//
// Created by Administrator on 2020/7/8.
//T5章:数组、指针与字符串
//数组的定义与使用
//定义:数组是具有一定顺序关系的若干相同类型变量的集合体,组成数组的变量称为该数组的元素
/*
#include <iostream>
using namespace std;
int main()
{
    int a[10],b[10];
    for(int i=0;i<10;i++)
    {
        a[i]=i*2-1;
        b[10-i-1]=a[i];
    }
    for(int i=0;i<10;i++)
    {
        cout<<"a["<<i<<"]="<<a[i]<<" ";
        cout<<"b["<<i<<"]="<<b[i]<<endl;
    }
    return 0;
}
*/
//T5章:数组、指针与字符串
//数组的储存与初始化
//一维数组的存储:数组元素在内存中顺序存放,它们的地址是连续的。元素间物理
//地址上的相邻,对应着逻辑次序上的相邻。
//int a[10];  a：数组名字是数组首元素的内存地址|数组名时一个常量,不能被赋值

//一维数组的初始化:
//列出全部元素的初始化:
//static int a[10]={0,1,2,3,4,5,6,7,8,9};
//只给出一部分元素指定的初值
//static int a[10]={0,1,2,3,4}
//列出全部数组元素的初值时,可以不指定数组长度
//static int a[]={0,1,2,3,4,5,6,7,8,9}

//二维数组的存储
//按行存放:float a[3][4]  a00 a01 a02 a03 a10 a11 a12 a13 a20 a21 a22 a23
//--------------------------a0首地址---------a1首地址-----a2首地址---------
//二维数组的初始化
//如果不作任何初始化,局部作用域的非静态数组中会存在垃圾数据,static数组中的数据中默认初始化为0
//如果只对部分元素初始化,剩下的未显示初始化的元素将自动被初始化为0

//-------------用数组表示fibonacci数列--------------//
#include <iostream>
using namespace std;
int main()
{
    int f[20]={1,1};//初始化第0、1个数
    for(int i=2;i<20;i++)//求第2~19个数
        f[i]=f[i-2]+f[i-1];
    for(int i=0;i<20;i++)//输出,每行5个数
    {
        if(i%5==0)
            cout<<endl;
        cout.width(12);//设置输出宽度为12
        cout<<f[i];
    }
    return 0;
}
